package net.designbased.jspfire;

import com.thoughtworks.xstream.annotations.*;

/**
 * 坐标轴
 * @author chenhongliang
 */
@XStreamAlias("vc:Axis")
public class Axis {
    
    @XStreamAlias("Enabled")
    @XStreamAsAttribute
    private boolean enabled = true;

    @XStreamAlias("AxisType")
    @XStreamAsAttribute
    private AxisType axisType;

    @XStreamAlias("StartFromZero")
    @XStreamAsAttribute
    private boolean startFromZero = true;

    @XStreamAlias("AxisMinimum")
    @XStreamAsAttribute
    private String axisMinimum;

    @XStreamAlias("AxisMaximum")
    @XStreamAsAttribute
    private String axisMaximum;

    @XStreamAlias("Interval")
    @XStreamAsAttribute
    private Double interval;

    @XStreamAlias("LineStyle")
    @XStreamAsAttribute
    private LineStyles lineStyle;

    @XStreamAlias("LineThickness")
    @XStreamAsAttribute
    private Double lineThickness;

    @XStreamAlias("Prefix")
    @XStreamAsAttribute
    private String prefix;

    @XStreamAlias("Suffix")
    @XStreamAsAttribute
    private String suffix;

    /**
     * 是否启用
     * @return
     */
    public boolean isEnabled(){
        return this.enabled;
    }

    /**
     * 设置是否启用
     * @param enabled
     */
    public void setEnabled(boolean enabled){
        this.enabled = enabled;
    }

    /**
     * 是否从0开始
     * @return
     */
    public boolean isStartFromZero() {
        return startFromZero;
    }

    /**
     * 设置坐标轴的值是否从0开始
     * @param startFromZero
     */
    public void setStartFromZero(boolean startFromZero) {
        this.startFromZero = startFromZero;
    }

    /**
     * 坐标轴类型
     * @return
     */
    public AxisType getAxisType(){
        return this.axisType;
    }

    /**
     * 设置坐标轴类型
     * @param axisType
     */
    public void setAxisType(AxisType axisType){
        this.axisType = axisType;
    }

    /**
     * 坐标轴最小值
     * @return
     */
    public String getAxisMinimum(){
        return this.axisMinimum;
    }

    /**
     * 设置坐标轴最小值
     * @param axisMinimum
     */
    public void setAxisMinimum(String axisMinimum){
        this.axisMinimum = axisMinimum;
    }

    /**
     * 坐标轴最大值
     * @return
     */
    public String getAxisMaximum(){
        return this.axisMaximum;
    }

    /**
     * 设置坐标轴最大值
     * @param axisMaximum
     */
    public void setAxisMaximum(String axisMaximum){
        this.axisMaximum = axisMaximum;
    }

    /**
     * 坐标点的间隔
     * @return
     */
    public Double getInterval(){
        return this.interval;
    }

    /**
     * 设置坐标点的间隔
     * @param interval
     */
    public void setInterval(Double interval){
        this.interval = interval;
    }

    /**
     * 坐标线的样式
     * @return
     */
    public LineStyles getLineStyle(){
        return this.lineStyle;
    }

    /**
     * 设置坐标线的样式 
     * @param lineStyle
     */
    public void setLineStyle(LineStyles lineStyle){
        this.lineStyle = lineStyle;
    }

    /**
     * 线的厚度
     * @return
     */
    public Double getLineThickness(){
        return this.lineThickness;
    }

    /**
     * 设置线的厚度
     * @param lineThickness
     */
    public void setLineThickness(Double lineThickness){
        this.lineThickness = lineThickness;
    }

    /**
     * 获取前缀
     * @return
     */
    public String getPrefix(){
        return this.prefix;
    }

    /**
     * 设置前缀
     * @param prefix
     */
    public void setPrefix(String prefix){
        this.prefix = prefix;
    }

    /**
     * 获取后缀
     * @return
     */
    public String getSuffix(){
        return this.suffix;
    }

    /**
     * 设置后缀
     * @param suffix
     */
    public void setSuffix(String suffix){
        this.suffix = suffix;
    }
}
